import request from '@/utils/request.js'
import store from '@/store'
// 获取用户频道列表
export async function channels () {
  if (!store.state.user.token) {
    //  获取本地存储的频道数据
    const _local = JSON.parse(localStorage.getItem('userChannels')) || []
    // 本地没数据
    if (_local.length === 0) {
      // 调用接口获取本地频道数据
      const res = await request({
        url: '/v1_0/user/channels'
      })
      //  存储频道数据到本地
      localStorage.setItem('userChannels', JSON.stringify(res.data.channels))
      // 将数据值return 出去
      return res.data.channels
      // res.data.channels
    } else {
      // 本地有数据  直接return
      return _local //  []
    }
  } else {
    // 用户登陆，就调用接口
    const res = await request({
      url: '/v1_0/user/channels'
    })
    return res.data.channels
  }
}
// 新闻列表
export function articlesGet (params) {
  return request({
    url: '/v1_0/articles',
    params
  })
}
// 获取所有频道数据
export function channelsAll () {
  return request({
    url: '/v1_0/channels'
  })
}
// 添加功能
/*
   判断用户是否登陆
      登录
          调用接口获取数据返回
      没登录
         获取本地数据转换成数据
         添加数据
         存储到本地
restful:增：post  删:delete  改:全量修改put  部分修改  patch 查:get
*/
// 全量修改
export async function userChannelsPut (channels) {
  if (store.state.user.token) {
    return request({
      url: '/v1_0/user/channels',
      method: 'put',
      data: {
        channels
      }
    })
  } else {
    localStorage.setItem('userChannels', JSON.stringify(channels))
  }
}
